package cn.demoncat.util.lang;

import cn.demoncat.util.lang.constant.StringConstant;
import cn.demoncat.util.web.HtmlUtil;

/**
 * 行渲染为Html的段落
 * 
 * @author 延晓磊
 *
 * @since 2019年7月21日
 */
public class LineHtmlUtil {

	// html段落前缀标识
	public static final String PCLASS_PRE = "<p class='ws-";
	// error class
	public static final String ERROR_CLASS = "ws-error-msg";
	// warn class
	public static final String WARN_CLASS = "ws-warn-msg";
	// info class
	public static final String INFO_CLASS = "ws-info-msg";
		
	
	/**
	 * 判断行是否渲染过
	 * 
	 * @param line
	 * @return
	 * 
	 * @author 延晓磊
	 *
	 * @since 2019年7月21日
	 */
	public static boolean isTransited(String line) {
		return line.startsWith(PCLASS_PRE);
	}
	
	/**
	 * 渲染普通行
	 * 
	 * @param line
	 * @return
	 * 
	 * @author 延晓磊
	 *
	 * @since 2019年7月21日
	 */
	public static String getLine(String line) {
		// 非空
		if (line == null) {
			line = StringConstant.EMPTY;
		}
		// 未渲染过
		if (!isTransited(line)) {
			line = HtmlUtil.transParagraph(line, INFO_CLASS);
		}
		return line;
	}

	/**
	 * 渲染Error行
	 * 
	 * @param line
	 * @return
	 * 
	 * @author 延晓磊
	 *
	 * @since 2019年7月21日
	 */
	public static String getErrorLine(String line) {
		// 非空
		if (line == null) {
			line = StringConstant.EMPTY;
		}
		// 未渲染过
		if (!isTransited(line)) {
			line = HtmlUtil.transParagraph(line, ERROR_CLASS);
		}
		return line;
	}

	/**
	 * 渲染WARN行
	 * 
	 * @param line
	 * @return
	 * 
	 * @author 延晓磊
	 *
	 * @since 2019年7月21日
	 */
	public static String getWarnLine(String line) {
		// 非空
		if (line == null) {
			line = StringConstant.EMPTY;
		}
		// 未渲染过
		if (!isTransited(line)) {
			line = HtmlUtil.transParagraph(line, WARN_CLASS);
		}
		return line;
	}
}
